#ifndef __SQDriConfig_H
#define __SQDriConfig_H

/////////////////////////////////////////////////////  常量  ///////////////////////////////////////////////
// 面板类别
#define  CHGR_panel_B20                  1          // 6双色Led,带0.42寸小液晶屏。
#define  CHGR_panel_B26                  2          // B26 B28 同款可共用。
#define  CHGR_panel_B14                  3          // 5双色Led
#define  CHGR_panel_A12                  4          // 7双色Led
// 显示屏类别
#define  LCD_NONE                        0
#define  LCD_0P42_IIC                    1       // 使用了0.42寸的小屏
#define  LCD_4P3_UART                    2       // 使用了4.3寸的串口屏
// 车端二极管检测方法：
#define   CarD1_Detect_OCC_Trg           1      // OCC触发读电平,并分析检测二极管好坏: 有两种读电平时机模式。
#define   CarD1_Detect_EINT              2      // 外部中断来分析检测二极管好坏。

// UI测量方式种类：
#define   Meter_SelfADC                  1                          // MCU的ADC外设测量UI 
#define   Meter_GuageIC_RN8209           2                          // 计量芯片RN8209测量UI
#define   Meter_GuageIC_RN8302B          3                          // 计量芯片RN8302B测量UI
#define   Meter_485                      4                          // 智能电表测量UI
// 获取电压电流有效值的算法类别
#define    UI_METHOD_MAX                 1      //最大值法
#define    UI_METHOD_RMS                 2      //均方根
// CP的ADC读取和CarD1二极管数据检测, 触发方式选择：多种方式可选
#define CP_CarD1_Trigger_CC50CC950       1  // 默认方式: TIM1的2,3通道会和串口UART1通道冲突。
#define CP_CarD1_Trigger_CCPWMUPDT       2  // CP-update中断取CP电压数据; CarD1-PWM输出比较检测CarD1电平数据；CPU空转delay延时。     
#define CP_CarD1_Trigger_TMRDelay        3  // 触发TMR延时，并读取某时刻的相关数据
// 漏电检测方法： 1 = 轮询检测法; 2 = 中断检测法;
#define  RCD_Detect_POLL                 1
#define  RCD_Detect_EINT                 2
// B型互感器的型号：不同型号，自检方式不同
#define  Leak_RCPD_08BS75_2P2            1    
#define  Leak_FM2161A                    2   
#define  UIFG_R10x_3A                    3
// 按键功能类别：
#define    KeyCtrl_startChg              1      //开机按键
#define    KeyCtrl_LedPanel              2      //灯板按键
#define    KeyCtrl_EmergStop             3      //急停按键
#define    KeyCtrl_UpBoard               4
// 蜂鸣器种类：
#define beep_none                        0 
#define beep_APM                         1    // 有源蜂鸣器
#define beep_BPM                         2    // 无源蜂鸣器
#define beep_LCD                         3    // LCD上的蜂鸣器
// 指纹唤醒方法：
#define  Finger_HLK_ZW101_POLL           1    // 轮询法
#define  Finger_HLK_ZW101_EINT           2    // 中断法：效果好，无延迟。
// RTC时钟种类：
#define  RTC_CLK_SRC_LSI                 1  
#define  RTC_CLK_SRC_LSE                 2  
// 刷卡种类：
#define  Card_None                       0
#define  Card_MF1                        1     // RC522的M1卡。 
// 加密种类：
#define  ENCRYP_NONE                     0     // 不加密
#define  ENCRYP_SM4                      1     // SM4加密
// BleWifi类型
#define  BleWifi_Ai_WB2                  1     // Ai_WB2_12F 模块
// 模块使用的串口
#define  BleWifi_Uart1                   1
#define  BleWifi_Uart2                   2
#define  BleWifi_Uart3                   3
#define  BleWifi_Uart4                   4
#define  BleWifi_Uart5                   5
// PE检测方法
#define  PE_method_ADC                   1
#define  PE_method_Poll                  2
  
/////////////// ------------------------------------END--------------------------------------------  ///////////
/////////////// -----------------------------------------------------------------------------------  ///////////
/////////////// -----------------------------------------------------------------------------------  ///////////



//////////////////////////////////////////////////////// 版本号 ////////////////////////////////////////////
#define  SQ_PCB_Ver                0     // 0 = 等于初始版本; 不同版本硬件配置不同。


/////////////////////////////////////////////////////// 标准选择 ///////////////////////////////////////////
//////////////////////////// 不同标准检测参数不同 ////////////////////////////////////
#define   STD_SQ         1                 //厂标
#define   STD_GB         2                 //国标  
#define   STD_IEC        3                 //IEC
#define   STD_EUR        4                 //欧标
#define   STD_ANSI       5                 //美标
#define   STD_NZS        6                 //新西兰标
#define   STD_USING      STD_EUR 


////////////////////////////////////////////////////// 认证开关  ///////////////////////////////////////////
//////////////////////////////////  认证：CP值 有回差 //////////////////////////////////////////////////
#define    AUTHEN_CE                  1          //0 = CP就没有回差; 1 = 有回差


////////////////////////////////////////////////  MCU引脚电平选择额定电流  ////////////////////////////////////
///////////////////////////////////////  带磁铁的插座，是否检测到磁铁来确定充电的额定电流   ///////////////////
#if (defined SQDri_WS018) || (defined SQDri_WS018B)
#define PinPick_RatedI                0           // PinPick_RatedI > 0, 具备检测插座磁铁功能。
#define Upboard_IIC                   1           // 使用上板屏幕，LED灯
#define PlugCharge_And_Resv           1
#else
#define PinPick_RatedI                0           // PinPick_RatedI > 0, 具备检测插座磁铁功能。
#endif


////////////////////////////////////////////////  面板选择，以及灯板配置  ///////////////////////////////////
#ifdef SQDri_EVSEB_7KW
#define  CHGR_panel_Sel         CHGR_panel_A12
#elif defined SQDri_EVSEB_11KW
#define  CHGR_panel_Sel         CHGR_panel_A12
#else
#define  CHGR_panel_Sel         CHGR_panel_B26
#endif
// 多电流开关：I_rated_count = 1 = 单电流；I_rated_count > 1 = 多电流
// B14 B20有单电流和多电流版本;根据用户选择定。SQDri_EVSEB_7KW
#ifdef SQDri_EVSEB_7KW
	#define    I_rated_count        1 
#elif defined SQDri_EVSEB_11KW
	#define    I_rated_count        1 
#else
	#if CHGR_panel_Sel == CHGR_panel_B14 && PinPick_RatedI > 0
	#define    I_rated_count        2   
	#else
	#define    I_rated_count        3  
	#endif
#endif

// rated 值是变化的：>0 开启
#define   flexible_rated_value     0 

// 灯管控制方式:
#if CHGR_panel_Sel == CHGR_panel_B20 || CHGR_panel_Sel == CHGR_panel_B14 || CHGR_panel_Sel == CHGR_panel_A12
#define  Using_LedCtrl_74HC595   // 74HC595控制
#elif CHGR_panel_Sel == CHGR_panel_B26
#define  Using_LedCtrl_MCUPin    // MCU引脚控制
#endif

// 开启滚动功能控制
#if CHGR_panel_Sel == CHGR_panel_B20 || (CHGR_panel_Sel == CHGR_panel_B26 && I_rated_count == 1) || (CHGR_panel_Sel == CHGR_panel_B14 && I_rated_count == 1) || (CHGR_panel_Sel == CHGR_panel_A12 && I_rated_count == 1)
#define  LedCtrl_Rolling
#endif

// 灯板具体方案：几个灯以及控制模式。
#if CHGR_panel_Sel == CHGR_panel_B20 || CHGR_panel_Sel == CHGR_panel_A12 
#define  Led7Pin_ABCDEFG 
#elif CHGR_panel_Sel == CHGR_panel_B14 
#define  Led5Pin_ABCDE 
#elif CHGR_panel_Sel == CHGR_panel_B26 
#define  Led3Pin_MCUPin
#endif

////////////////////////////////////////////////////  485智能电表  //////////////////////////////////////////////////
#if defined SQDri_EVSEB_7KW  
	#define  meter485_ON               1        // > 0，带485智能电表驱动。
	#define  meter485_CRC_ON           1      
#elif defined SQDri_EVSEB_11KW
	#define  meter485_ON               1
  #define  meter485_CRC_ON           1 
#else
	#define  meter485_ON               0
  #define  meter485_CRC_ON           0 
#endif


///////////////////////////////////////////////// 供电方式  //////////////////////////////////////////////////
#ifdef SQDri_EVSEB_11KW
#define  PowerSupplyPhase            3       // PowerSupplyPhase = 3表示3相供电，否则就是单相供电。
#else
#define  PowerSupplyPhase            1
#endif

///////////////////////////////////////////////// 串口相关  //////////////////////////////////////////////////
// using_uart1 > 0; 或 =1 表示串口被使用。此处解决串口和TMR1 OCC2/OCC3相冲突。
// uart1_DMA_send > 0;  通过DMA发送数据; DMA发送数据反而速度慢。
#define using_uart1                  1  
#define uart1_DMA_send               0  
#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
	#define using_uart2                1    
	#define using_uart3                1   
	#define using_uart4                1   
	#define using_uart5                1 
	#define uart2_DMA_send             0  
	#define uart3_DMA_send             0   
	#define uart4_DMA_send             0  
#endif


///////////////////////////////////////////////  显示屏相关  /////////////////////////////////////////////////
#ifdef SQDri_EVSEB_7KW
	#define  Using_UART_LCD            LCD_4P3_UART 
#elif defined SQDri_EVSEB_11KW
	#if using_uart1 > 0
	#define  Using_UART_LCD            LCD_4P3_UART
	#else
	#define  Using_UART_LCD            LCD_NONE
	#endif
#elif CHGR_panel_Sel == CHGR_panel_B20 
	#define    Using_UART_LCD          LCD_0P42_IIC 
	#define    SSD1315                         // SSD驱动芯片型号; 可选：SSD1315 / SSD1306
#endif

#if Using_UART_LCD == LCD_4P3_UART 
// 串口传递数据，是否进行CRC校验。 > 0:需要进行校验。
#define  CRC_Check                   0
#define  SEND_RTC_EN                 1        // 是否发送RTC时间;
#endif

//////////////////////////////////////////////  PE接地检测功能  /////////////////////////////////////////////////////
// 接地检测开关宏
#define  PE_ON                         1    // > 0：开关打开，功能使能。 
#if PE_ON > 0   
  #if defined SQDri_EVSEB_11KW || defined SQDri_EVSEB_7KW
	#define  PE_method                   PE_method_Poll    //PE_method_ADC    //PE_method_ADC  低压必须ADC。
	#else
	#define  PE_method                   PE_method_ADC
	#endif
#endif



////////////////////////////////////////////  过压欠压保护开启控制  //////////////////////////////////////////////////
// 电压保护开关宏
#define Volt_Protection                0    // > 0：开关打开，功能使能。



/////////////////////////////////////////////  CarD1 车端二极管保护  //////////////////////////////////////////////////
// 车载二极管检测开关：0 = 关闭此功能; > 0 开启此功能; 充电前需要检测。
#define   CarD1_Protect                1
#if CarD1_Protect > 0
	#define   CarD1_Detect_Tyte          CarD1_Detect_OCC_Trg           //车端二极管检测方式设置
	#define   CarD1_WholeLife_EN         0                              //车端二极管全程保护开关;一般不启用。
#endif

////////////////////////////////////////////////////  ADC相关  /////////////////////////////////////////////////////////
// ADC数量：使用ADC的数量; 如ADC1，ADC2，ADC3
#if defined SQDri_EVSEB_11KW || defined SQDri_EVSEB_7KW
#define ADC_num                        1
#else 
#define ADC_num                        1
#endif

//////////////////////////////////////////////  ADC：温度传感器相关  ////////////////////////////////////////////////////
// 可以使用多个温度计：0或1 = 单温度计; 2 = 2个温度计;
#define  tmpr_EN                       0
#if defined SQDri_EVSEB_7KW
	#define tmpr_nums                    2
#elif defined SQDri_EVSEB_11KW
  #define tmpr_nums                    3
#else
  #define tmpr_nums                    1
#endif


/////////////////////////////////////////////// ADC:电压电流以及CP的测量  ///////////////////////////////////////////////
#if defined SQDri_EVSEB_7KW
  #define   UI_Meter_Method            Meter_GuageIC_RN8209
	#define   Get_QOE_Method             Meter_GuageIC_RN8209       //Meter_SelfADC  // 获取电量方法
#elif defined SQDri_EVSEB_11KW
  #define   UI_Meter_Method            Meter_GuageIC_RN8302B
	#define   Get_QOE_Method             Meter_GuageIC_RN8302B 
#else
  #define   UI_Meter_Method            Meter_SelfADC
	#define   Get_QOE_Method             Meter_SelfADC  
#endif
// 不同方式下的配置参数：
#if (UI_Meter_Method == Meter_SelfADC) 
	// GET_K_Actv 获取功率因子的开关：=0; 则不计算功率因子。 >0计算功率因子
	#define    GET_K_Actv                1
	// 获取电压有效值算法	
	#define    GET_UI_METHOD_ID          UI_METHOD_MAX    // UI_METHOD_RMS UI_METHOD_MAX 
#endif
#if (defined SQDri_EVSEB_7KW) && (using_uart1 > 0)    //不能CC50CC950,否则串口1无法通讯。
#define  CP_CarD1_Trigger_Mode           CP_CarD1_Trigger_TMRDelay
#elif defined SQDri_EVSEB_11KW
#define  CP_CarD1_Trigger_Mode           CP_CarD1_Trigger_TMRDelay  
#else
#define  CP_CarD1_Trigger_Mode           CP_CarD1_Trigger_CC50CC950  
#endif


/////////////////////////////////////////////////// 过零检测   ////////////////////////////////////////////////
// 过零开关宏：
#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
#define volt_zero_crossing          0   // > 0：过零检测功能开启。
#else
#define volt_zero_crossing          0 
#endif

// 过流检测，零点数据
#if volt_zero_crossing > 0
// 不同检测方式，过零参数配置不同;
#if (UI_Meter_Method == Meter_SelfADC) 
#define    volt_zero_strt          362 // 15V / U_param_ext 162     
#define    volt_zero_end           700 // 70V / U_param_ext 800  
#endif
#endif


/////////////////////////////////////////////////  B型互感器设置  /////////////////////////////////////////////
// 漏电检测方法选择：
#define  RCD_Detect                      RCD_Detect_POLL

// B型互感器开关：有的控制板是没有B型互感器的;
// 0 = A型互感器;  > 0：B型互感器启用
#define  RCD_TYPE_B                      1 

#if RCD_TYPE_B > 0
	// B型互感器漏电自检控制开关：0= 不进行自检；> 0 自检。不同型号的B互感器自检校核方式不一样。
	#ifdef SQDri_EVSEB_7KW
		#define  testSelfLeak                 Leak_FM2161A 
		#define  leakBit_level_reverse        1   // 1 = 有三极管，电平取反。
	#elif defined SQDri_EVSEB_11KW
		#define  testSelfLeak                 Leak_RCPD_08BS75_2P2 //UIFG_R10x_3A 
		#define  leakBit_level_reverse        0   // 1 = 有三极管，电平取反。0 = 电平反转电路	
	#elif defined SQDri_WS018B
	  #if CHGR_panel_Sel == CHGR_panel_B14 && PinPick_RatedI > 0
		  #define  testSelfLeak               Leak_RCPD_08BS75_2P2
		  #define  leakBit_level_reverse      0 
		#else
		  #define  testSelfLeak               Leak_FM2161A
		  #define  leakBit_level_reverse      1  
		#endif
		
	#endif
	#define  leak_testSelf_get              1   // 获取自检信号
#endif


///////////////////////////////////////////////////   按键Key   /////////////////////////////////////////////
// 按键功能选择：
#define    Key_doubleCtl             0      // 1 = 开启双击功能
#define    Key_longCtl               1      // 1 = 开启长按功能
// 按键id,以及按键功能定义：默认只有一个按键，即非自锁弹起按键，调整输出电流的。
#if CHGR_panel_Sel == CHGR_panel_B14 && PinPick_RatedI > 0
  #define    Key1                    0     // 不启用第一个按键
#else
  #define    Key1                    1     // 启用第一个按键
#endif
// 第一个按键配置1
#ifdef SQDri_EVSEB_7KW
	#if Key1  > 0                   
		#define    Key_SelfLock          1                    // > 0 = 自锁功能的按键
		#define    key1InitLevel         0                    // 按键上电后的状态;也是按键空闲时候的状态; 
    #define    key1_Ctrl_id          KeyCtrl_startChg		  // 按键1为开机按键
	#endif
#elif defined SQDri_EVSEB_11KW	
	#if Key1  > 0                          
		#define    Key_SelfLock          0                    // > 0 = 自锁功能的按键
		#define    key1InitLevel         0                    // 按键上电后的状态;也是按键空闲时候的状态; 
    #define    key1_Ctrl_id          KeyCtrl_startChg		  // 按键1为开机按键
	#endif	
#else
  #if Key1  > 0
	  #define    Key_SelfLock          0                    // 0 = 轻触按键
		#define    key1InitLevel         1                    // 按键上电后的状态;也是按键空闲时候的状态; MD悬空，key1InitLevel = 1。
    #define    key1_Ctrl_id          KeyCtrl_UpBoard		  // 按键1的类型=灯板按键	
	#endif
#endif
//按键配置参数2
#define Key_NoOperateInTV               10000          //判断按键没有操作的时间
#if  Key_doubleCtl  > 0
#define Key_doubleInTV               300          //按键双击时间间隔1000ms
#endif
#if  Key_longCtl    > 0
#define Key_longHold                 1200         //按键长按坚持时间
#endif

// 按键自带灯独立控制; 1 = MCU独立控制， 0 = 不通过MCU控制,只通过按键硬件控制。
#if defined SQDri_EVSEB_7KW
#define Led_Key_Ctrl                   0
#elif defined SQDri_EVSEB_11KW
#define Led_Key_Ctrl                   0
#endif

//按键配置参数3
#if Using_UART_LCD == LCD_0P42_IIC
#define Key_OledShow_intv               100      // 按键不能按的太快;OLED屏反应不过来,显示会出问题。
#endif


///////////////////////////////////////////////  充电控制以及继电器控制相关  ////////////////////////////////////
// 充电桩即插即充控制: 0 = 即插即充;  > 0 或 = 1，非即插即充。
// 非即插即充模式：1 = 自锁按钮启动; 2 = 非自锁按键启动； 3 = 刷卡充电；
// --------------  4 = APP 通过蓝牙指令充电; 5 = 指纹充电;  6 = 刷脸充电; 
#ifdef SQDri_EVSEB_7KW
	#define  Non_Plug_And_Charge              0    
#elif defined SQDri_EVSEB_11KW
	#define  Non_Plug_And_Charge              0          //是否是非即插即用
#else
	#define  Non_Plug_And_Charge              0 
#endif

// 继电器控制模式：> 0,则是PWM控制
#ifdef SQDri_EVSEB_7KW 
	#define  RlyPin_Ctrl_PWM_EN                0
#elif defined SQDri_EVSEB_11KW
	#define  RlyPin_Ctrl_PWM_EN                1
#else
  #define  RlyPin_Ctrl_PWM_EN                1
#endif


// 继电器控制模式；Has_RlyPin_Maintaining = 有保持引脚的控制模式。
// 当RlyPin_Ctrl_PWM_EN > 0; 维持模式位，调整占空比，来调整电压。
// Has_RlyPin_Maintaining > 0; 维持电压功能开启
#if defined SQDri_EVSEB_7KW
	#define  Has_RlyPin_Maintaining             1           
#elif defined SQDri_EVSEB_11KW
	#define  Has_RlyPin_Maintaining             1  
#else
  #define  Has_RlyPin_Maintaining             1
#endif


// 主动关机延时功能：
#if Non_Plug_And_Charge > 0
	#ifdef SQDri_EVSEB_7KW 
		#define  proactive_chgStop_EN              1   
	#elif defined SQDri_EVSEB_11KW
		#define  proactive_chgStop_EN              1    
	#endif
#endif

//////////////////////////////////////////////////  灯板的74HC595控制   ////////////////////////////////////////
#if defined SQDri_EVSEB_7KW || defined SQDri_WS018B
// 快速模式：0 = 慢速模式；1 = 快速模式
#define  HC595Dri_FastMode              0
#elif defined SQDri_EVSEB_11KW
#define  HC595Dri_FastMode              0
#endif


//////////////////////////////////////////////////  继电器粘连检测电路  ////////////////////////////////////////
#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW 
//继电器粘连检测电路类型：0 = 无检测电路; > 0 有检测电路; 
#define RlyAdh_Detect_type              1
#endif


///////////////////////////////////////////////////  CC检测电路  //////////////////////////////////////////////
#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
//CC检测类型：0 = 无CC检测电路; > 0 有CC检测功能; 
#define CC_Detect_type                  0
#endif


/////////////////////////////////////////////////////  蜂鸣器  //////////////////////////////////////////////////
#if defined SQDri_EVSEB_7KW
//蜂鸣器类型：0 = 无蜂鸣器; 1 = 有源蜂鸣器电路; 
#define beep_type                    beep_APM
#elif defined SQDri_EVSEB_11KW
#define beep_type                    beep_APM
#else
#define beep_type                    beep_none
#endif

///////////////////////////////////////////////////  预约充电功能  //////////////////////////////////////////////////
#if Non_Plug_And_Charge > 0
#if defined SQDri_EVSEB_7KW 
#define RESV_CHG_ON                  0          // > 0 开启预约充电功能
#elif defined SQDri_EVSEB_11KW
#define RESV_CHG_ON                  1
#else
#define RESV_CHG_ON                  0
#endif
#endif

//////////////////////////////////////////////////// 指纹识别  ////////////////////////////////////////////////////
#if Non_Plug_And_Charge > 0
	#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
		#if using_uart4 > 0
		//指纹识别型号：0 = 无指纹识别; 1 = HLK-ZW101指纹识别; 
		#define finger_sensor_type         Finger_HLK_ZW101_EINT
		#endif
	#endif
#endif

//////////////////////////////////////////////////// RTC功能控制  //////////////////////////////////////////////////
#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
#define  RTC_ON                    1    // > 0：RTC功能启用。 
#else
#define  RTC_ON                    0    // > 0：RTC功能启用。
#endif

#if RTC_ON > 0
// RTC晶振选择
#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
#define  RTC_CLK_SRC               RTC_CLK_SRC_LSE  
#else
#define  RTC_CLK_SRC               RTC_CLK_SRC_LSI  
#endif
#endif

////////////////////////////////////////////////////  刷卡功能  //////////////////////////////////////////////////
#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
//刷卡类型：0 = 无刷卡; 1 = RC522读写器的MF1卡; 
#define  card_type_sel             Card_MF1
#endif


/////////////////////////////////////////////////  蓝牙+wifi通讯功能  ////////////////////////////////////////////
#define  BLE_WIFY_EN                    0         // > 0; 开启蓝牙和wifi功能。
#if BLE_WIFY_EN  > 0
  // 模块类型
	#define  BleWifi_type                 BleWifi_Ai_WB2
	// 模块使用的串口
	#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
		#define  BleWifi_Uart_Using         BleWifi_Uart5
	#else
		#define  BleWifi_Uart_Using         BleWifi_Uart1
  #endif  
#endif


///////////////////////////////////////////////  板内Flash控制  //////////////////////////////////////////////////
//是否保存额定电流：0 = 不保存，> 0 为保存。
#if I_rated_count > 1
#define  Rated_Save_EN              1        // > 0；保存
#else
#define  Rated_Save_EN              0        // 11和7KW不保存
#endif

///////////////////////////////////////////  Nor Flash外接储存器 功能  ///////////////////////////////////////////
#if defined SQDri_WS018B
#define  Nor_Flash                  0        // > 0；启用。
#else
#define  Nor_Flash                  0        // 11和7KW的带
#endif

////////////////////////////////////////////////////  日志功能  ///////////////////////////////////////////////////
// LOG_ON > 0；启用日志功能。
#if defined SQDri_WS018B
#define  LOG_ON                     0 
#else
#define  LOG_ON                     0        
#endif


///////////////////////////////////////////////  功率曲线保存功能  ////////////////////////////////////////////////
#define  CURVE_ON                   0       // > 0；启用日志功能。


//////////////////////////////////////////////////  加密功能  /////////////////////////////////////////////////////
#ifdef SQDri_WS018B
#define  ENCRYP_TYPE           ENCRYP_NONE     // > 0；启用加密。
#else
#define  ENCRYP_TYPE           ENCRYP_SM4 
#endif
// SM4的初始密钥：
#define  Key_SM4_Init          {0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10}
#define  Key_SM4_Svr           {0x01, 0x45, 0x3e, 0x33, 0xa6, 0xab, 0x79, 0x66, 0x88, 0xde, 0xef, 0x54, 0xb5, 0xcf, 0xb2, 0x12}

////////////////////////////////////////////////////  系统参数  ////////////////////////////////////////////////////
// 系统调试开关
#define    SYS_DEBUG 
#ifdef AT32F403AVGT7
  #include "at32f403a_407_conf.h"
#endif

// 系统外部晶振使用：Xtal_8MHz = 外部用8MHz的晶振。
// CM_PLLMF = 锁相环倍数选择
#ifdef Xtal_8MHz  //外部接8MHz
	#ifdef APM32E10X_HD
		#define   CM_PLLMF     RCM_PLLMF_15
	#elif defined AT32F403AVGT7
		#define   CM_PLLMF     CRM_PLL_MULT_30
	#else
		#define   CM_PLLMF     RCM_PLLMF_12
	#endif
#else            //外部接12MHz
	#ifdef APM32E10X_HD
		#define   CM_PLLMF     RCM_PLLMF_10
	#elif defined AT32F403AVGT7
		#define   CM_PLLMF     CRM_PLL_MULT_20
	#else
		#define   CM_PLLMF     RCM_PLLMF_8
	#endif
#endif

#endif

